<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use Hash;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    //
    /*
    显示后台用户列表页面
    */
    public function getIndex(Request $request)
    {    	
    	// dd($users);
        $count = 1;
        //判断是否有搜索
        if($request -> input('keywords')){
            // dd(1);
            $users = DB::table('user') 
                -> where('username','like','%' . ($request -> input('keywords')) . '%')
                ->paginate(10);
        }else{
            // dd(0);
            //查询所有用户
            $users = DB::table('user') -> paginate(10);
        }
        //提取所有的参数
        $data = $request -> all(); 
        //解析模板
        return view('Admin.user.index',['users' => $users,'count' => $count,'data' => $data]);
    }


     /*
    显示后台用户添加页面
    */
    public function getAdd()
    {
        //解析模板
        return view('Admin.user.add');
    }

    /*
	执行用户添加
    */
    public function postInsert(Request $request)
    {	

    	//检测时候有数据传过来
    	// dd($request -> all());
    	

    	//处理数据添加到数据库
    	$data = $request -> except(['_token','repassword']);
    	$data['token'] = str_random(50);
    	// var_dump($data);
    	//密码加密
    	$data['password'] = Hash::make($data['password']);
    	// dd($data['password']);
    	// dd($data);
    	$userdetail['name'] = $request ->only(['username']);
    	// dd($userdetail);

    	//执行数据的插入
    	$res = DB::table('user') -> insert($data);
    	if($res){
    		// dd($userdetail);
    		DB::table('userdetail') -> insert($userdetail);

    		return redirect('/admin/user/index') -> with('success','用户添加成功');
    	}else{
    		return back() -> with('error','用户添加失败');
    	}
    }

     /*
    显示后台用户修改页面
    */
    public function getEdit($id)
    {
    	// dd($id);

    	//获取信息
    	$res = DB::table('user') -> where('id',$id) -> first();

        //解析模板
        return view('Admin.user.edit',['users' => $res]);
    }

    /*
		执行用户修改
    */
	public function postUpdate(Request $request)
	{	
		$id = $request -> input('uid');
		// dd($id);
		// $data = $request -> all();
		// dd($data);
		$data = $request -> only(['username','password','grade']);
		//执行修改
		$res = DB::table('user') -> where('id',$id) -> update($data);
		if($res){
			return redirect('/admin/user/index') -> with('success','用户修改成功');
		}else{
			return back() -> with('error','用户修改失败');
		}
	}



    /*
		根据ID删除用户
    */
	public function getDelete($id)
	{
		// dd($id);
		//执行删除
		$res = DB::table('user') -> where('id',$id) -> delete();
		if($res){
            return redirect('/user/index')->with('success','用户删除成功');
        }else{
            return back()->with('error','用户删除失败');
        }
	}



}
